決定木アルゴリズム: モデル集計
経済学のための機械学習入門
Model aggregation
比喩: 予測屋会議
複数の”専門家”の予測を集計して最終予測モデルとする
“エコノミスト”の見通しの平均値
専門家委員会
一人の予測に頼るよりも、ましでは?
- 教師付き学習にも応用可能な発想
数値例
独立してサンプリングしたデータについて、深い予測木 (剪定なし) を推定
各予測値と、予測値の平均を比較
Estimation Error
Aggregation
チャレンジ
「独立して抽出された」有限個データから生成された予測モデル
「独立して抽出した複数のデータから得た」予測モデルの集計は通常不可能
- 推定に使ったサンプルサイズが実質的に増えているので、性能改善は”当たり前”
近似的に行う
- (Nonparametric) bootstrapの活用
Bootstrap Aggregating
- Bagging
決定木の不安定性
多くの実践で、決定木推定の不安定性( = データ依存, 大きなEstimation error)は、Reguliazationを行っても十分に緩和できない
- 変数や分割回数の決定など、 Discrete choiceが避けられないことが理由の一つ
伝統的なアプローチ (研究者がモデルを設定するOLS, サブグループ分析) では、無意味な方法が有効
- Bootstrapでデータを複製して、モデル集計
理想のBagging
アルゴリズム
Nonparametric bootstrapで、データの複製を行う (500,1000,2000など)
各複製データについて、“深い”決定木を推定
各 X についての予測値の平均を最終予測値とする
補論: Bootstrap
Baggingの発想
g_b(X) 複製データ b から生成されたモデルの X についての予測値
- g_b(X) : 確率変数
確率変数は、一般に、
g_{ave}(X):=\frac{\sum_b g_b(X)}{B}
Baggingの発想
基本アイディア: 非常に深い木 g_b(X) を生成すれば、Approximation errorは減少する一方で、Estimation errorが大きくなる
確率変数の平均値は一般に分散が削減できる
独立・無相関であれば、 無限個の複製データから予測モデルを作れば、分散を0にできる (一致性)
今のPCであれば、大量の予測モデルの生成は可能
Baggingの限界
- Bootstrapから計算した統計量は、一般に相関するので
\lim_{B\rightarrow\infty}E[(g_{ave}(X)-E[g_{ave}(X)])^2]=\underbrace{\frac{var(g_b(X))}{B}}_{\rightarrow 0}
+\underbrace{\frac{B-1}{B}\times corr(g_b(X),g_{b'}(X))\times var(g_b(X))}_{\nrightarrow 0}
RandomForest
データ分割に用いることができる変数群をランダムに選ぶ
例:ある予測木の第n分割を行う際に
Bagging: \{ 年齢、性別、学歴 \} から選ぶ
Random Forest: \{ 年齢、性別 \} から選ぶ
- 第 n+1 分割を行う際には、 \{ 学歴、性別 \}
動機: 予測値同士の相関を弱める
相関を強める要因(データが多少変わっても、同じような変数を活用する)を排除
そこそこの予測力を持つ変数が、強力な予測力を持つ変数の陰に隠れてしまうことを避けられる
数値例
数値例
数値例
Hyper prameter tuning
多くの実戦で、 パッケージが提供するdefault valuesをそのまま使っている
Hyper parameterのチューニングについて、議論は存在し、実装されているパッケージもある
mlr3tuningspaces
grf
明確なのは、ブートストラップの回数は多ければ、多いほどよい
実例
Growing trees.. Progress: 83%. Estimated remaining time: 6 seconds.
Growing trees.. Progress: 82%. Estimated remaining time: 6 seconds.
nr task_id learner_id resampling_id iters regr.rsq
1: 1 Data OLS holdout 1 0.8536216
2: 2 Data OptimalTree holdout 1 0.7876120
3: 3 Data RF holdout 1 0.8606409
4: 4 Data OptimalRF holdout 1 0.8679677
Hidden columns: resample_result
まとめ
Resamplingは現代のデータ分析において、強力な手法
モデル評価 (Cross fitting)だけでなく、 決定木の予測性能改善 (Bagging/RandomForest)にも有効
伝統的なInferenceへのBootstrapの応用も、もちろん重要